/*
    15 SIGTERM 终止信号（程序结束(terminate)信号, 
    与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出，
    shell命令kill缺省产生这个信号）

*/  

#include <signal.h>
#include <stdio.h>
#include <unistd.h>

void handler(int sig) {
    printf("\n[SIGTERM] 捕获到信号 %d，正在优雅退出...\n", sig);
    _exit(0);
}

int main() {
    signal(SIGTERM, handler);   // 
    printf("Sending SIGTERM to self...\n");
    raise(SIGTERM);
    puts("这行不会被打印");
    return 0;
}